As input means for entering user's instructions to controllers like personal computers and word processors, a keyboard device is generally used. There are other types of input means, such as a voice input system and a touch panel. However, when inputting a large number of characters, for example, texts and programs, it would be said that the keyboard device is still the best input means.
In the keyboard device, a plurality of keys are usually arranged to correspond to characters, respectively. The keyboard device is formed by a keyboard and a keyboard controller. The keyboard has key switches which correspond to the respective keys and are arranged in a matrix form. When a key on the keyboard is depressed, a key switch corresponding to the depressed key is turned on. Then, the keyboard controller outputs a logical key number corresponding to this key switch as a signal.
However, since each country has its own standards, various types of keyboards exist. For example, there are variations in the characters printed on the top of the keys and in the arrangement of the keyboard matrix.
In general, a keyboard controller is produced to correspond to a particular keyboard. Thus, even if a keyboard device is electrically and mechanically compatible with a keyboard having another arrangement of keys, when the keyboard device is connected to the keyboard controller by only replacing the keyboard, signals corresponding to correct logical key numbers cannot be output.
Therefore, in apparatuses like information processing apparatuses including a keyboard device, when the need to replace the keyboard with a keyboard having another arrangement of keys arises, it is impossible to replace only the keyboard. Namely, it is necessary to replace the whole keyboard device as a unit for the replacement of the keyboard. Such a drawback results in poor development efficiency and high development costs.
In order to solve these problems, for example, Japanese Publication for Unexamined Patent Application No. 61585/1993 (Tokukaihei 5-61585) proposes an "information processing apparatus".
In the information processing apparatus disclosed in this publication, an ID memory section storing ID for distinguishing keyboards is included in a keyboard device formed by a keyboard and a controller for outputting key code signals corresponding to the respective key switches of the keyboard. A memory in the information processing apparatus includes, for example, key-code-signal to character-code conversion tables corresponding to a plurality of keyboards. The information processing apparatus reads the ID of a keyboard from the ID memory section, and accepts inputs from the keyboard through the key-code-signal to character-code conversion tables. Consequently, when an occasion to connect a newly developed keyboard to the controller arises, it is possible to use the new keyboard with the use of a conventional controller by storing a key-code-signal to character-code conversion table corresponding to the new keyboard in the memory and reading the key-code-signal to character-code conversion table in accordance with the ID of the new keyboard.
The following description will briefly explain the structure and operation for distinguishing keyboards by presenting an example of a conventional information processing apparatus having storage means for storing a plurality of conversion tables corresponding to keyboards outside of the keyboard controller like the apparatus disclosed in the above-mentioned publication.
As illustrated in FIG. 24, this information processing apparatus includes a system device 51, and a keyboard device 52. The system device 51 includes a central processing unit 53, a display device 54, a system information memory device 55 formed by an EEPROM, FLASHROM, non-volatile RAM, or the like, a main memory 56 formed by a read/write RAM, a secondary memory 57 formed by HDD, etc., and an input/output device 58 for managing the flow of signals between the constitutional elements of the keyboard device 52 and the system device 51.
The system information memory device 55 includes a system information valid flag storage area 55a for storing a system information valid flag (hereinafter just referred to as the flag) L for determining whether initialization of the keyboard is to be performed or not, and a keyboard ID storage area 55b for storing the recognized keyboard ID from the keyboard device 52. The flag L is arranged to be 1 (L=1) after the completion of the execution of a keyboard initializing program 66a which is called up from a system initializing program 59a, to be described later, when the power supply of the system is first switched on. More specifically, the system device 51 judges that the system information is invalid when L=0, and that the system information is valid when L=1. When L=1, the system device 51 performs the following operations. The keyboard ID is a unique number allotted to each keyboard device 52 and the number varies according to the types of keyboards so that the system device 51 can identify the types of keyboards.
The main memory 56 includes a program storage area 59 storing the system initializing program 59a for initializing the system setup and a keyboard input program 59b for converting a logical key number input to the keyboard device 52 into a character code, and a data storage area 60 formed by a character codes storage area 60a and a conversion tables storage area 60b storing logical-key-number to character-code conversion tables.
The secondary memory 57 stores a plurality of logical-key-number to character-code conversion tables T (hereinafter referred to as the "conversion tables T") corresponding to different keyboard ID values. Like the embodiments of the present invention, to be described later, three conversion tables T00 to T02 corresponding to three types of keyboards are provided as shown in FIG. 24.
The keyboard device 52 is formed by a keyboard controller 61 and a keyboard 62. The keyboard controller 61 is formed by a central processing unit 63, an input/output device 64 for managing the flow of signals between the constitutional elements of the system device 51 and the keyboard device 52, and a memory device 65.
The memory device 65 includes a program storage area 66 and a data storage area 67. The program storage area 66 stores a keyboard initializing program 66a for recognizing the keyboard ID and transferring the recognized keyboard ID to the system device 51, and a keyboard output program 66b for converting a key switch position input through the keyboard 62 into a logical key number and transferring the logical key number to the system device 51 via the input/output device 64. In addition, the data storage area 67 has a keyboard ID storage area 67a storing the keyboard ID recognized by the keyboard initializing program 66a, and a key-switch-number to logical-key-number conversion table t (hereinafter referred to as the "conversion table t").
The keyboard 62 has a keyboard matrix 68 including an ID storage section 68a and a matrix section 68b with respect to necessary pieces of keys, for example, p pieces of keys. The ID storage section 68a is formed by an IC including ROM, etc., and stores an ID code unique to the keyboard. The matrix section 68b outputs a signal corresponding to the key switch position of a key depressed.
For example, as shown in FIG. 20 which is related to Embodiment 2 to be described later, the matrix 68b is formed by 10 key scanning lines C0 to C9, and 8 key return lines R0 to R7. A key switch is formed at each of the intersections of the key scanning lines and the key return lines. The key switches are provided with key switch numbers Gp (p=00 to 74). Namely, a corresponding key switch number Gp is individually determined by each key scanning line and key return line.
The conversion table t shows the relationship between the key switch numbers Gp determined by the key scanning line numbers and key return line numbers, and the logical key numbers Kg (q=00-74). The relationship is the same as the relationship shown in FIG. 21 which is related to an embodiment of the present invention, to be described later.
The conversion tables T show the relationship between the logical key numbers Kq and character codes. As described above, the conversion table T varies according to the keyboard ID value. For example, a keyboard whose keyboard ID is 00 has an arrangement of keys which is the same as the arrangement of keys (FIG. 11) corresponding to the conversion table T00 shown in FIG. 4 related to an embodiment of the present invention, to be described later. When the keyboard ID has a different value, the conversion table T also varies.
In the information processing apparatus having the above-mentioned structure, when power is supplied to the system device 51 and the keyboard device 52 after connecting the keyboard 62 whose keyboard ID is 00 to the keyboard controller 61, the system initializing program 59a is activated. Then, when it is judged based on the value of the flag L that the system information is invalid, the system information memory device 55 transmits to the keyboard controller 61 a request for keyboard ID.
Upon the request for keyboard ID, the keyboard controller 61 activates the keyboard initializing program 66a. Then, the keyboard ID having a value of 00 is read from the ID storage section 68a of the keyboard 62, stored in the keyboard ID storage area 67a, and sent to the system device 51.
The system device 51 stores the keyboard ID in the keyboard ID storage area 55b, reads the conversion table T00 corresponding to the keyboard ID from the secondary memory 57, and stores the conversion table T00 in the logical-key-number to character-code conversion tables storage area 60b. As a result, the flag L is made valid, and the activation of the system is completed.
After making the above-mentioned setup, in the keyboard device 52, when a character is input through the keyboard 62, the keyboard output program detects the key switch number Gp of a depressed key, calls a logical key number Kq corresponding to the key switch number Gp from the conversion table t, and transmits the logical key number Kq to the system device 51.
In the system device 51, the keyboard input program 59b calls a character code corresponding to the input logical key number Kg from the conversion table T00, and outputs the character code to the display device 54.
As described above, the keyboard 62 includes the keyboard ID storage section 68a storing the unique keyboard ID, and the system device 51 has a plurality of conversion tables T corresponding to different keyboard ID values. By storing the conversion table T corresponding to the keyboard ID of the connected keyboard 62 in the logical-key-number to character-code conversion tables storage area 60b upon the activation of the information processing apparatus and by using the conversion table T, it is possible to output a character corresponding to a key depressed on the keyboard 62. Namely, this structure allows a single keyboard controller 61 to be compatible with a plurality of keyboards having different key arrangements.
However, in the above-mentioned conventional techniques, the system automatically identifies a keyboard upon the activation of the information processing apparatus. Thus, it is necessary to provide the keyboard with a new memory area (ID storage section 68a). For instance, when a system as a whole supports four types of keyboards, at least a two-bit memory area is required. Moreover, since an IC is added, a capacitor and a resister may be required to deal with unwanted radiation and electrostatic breakdown. As a result, the cost of the keyboard device 52 itself increases.